#ifndef IRESOURCE_H
#define IRESOURCE_H

#include <string>
#include "Export.h"

namespace glow
{
    class SHARED IResource
    {
        public :

		/**
		 *	Constructor of the IRessource
		 *\param name the name of the ressource file
		 **/
        IResource(std::string name);
        
		/**
		 *	The destructor of IRessource
		 **/
        virtual ~IResource();
        
        /**
		 * Increment the reference counter
		 **/
        void addRef();
        
        /**
		 *	Decrement the reference counter
		 **/
        void release();
        
        /**
		 *	Get the name 
		 *\return the name of the current Ressource
		 **/
        std::string getName();
        
        private :
        
        std::string _name;
        int _counter;

    };
}
#endif//IRESOURCE_H
